-
Notifications
You must be signed in to change notification settings - Fork 2.3k
automate more of the release process #5409
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces an automated release workflow system that supports both minor and patch releases through GitHub Actions workflows and Just commands.
- Adds Just commands to calculate next minor/patch versions programmatically
- Creates reusable GitHub Actions workflow for automated release PR creation
- Implements scheduled minor releases and on-demand patch releases
- Automates PR merging when tags are pushed and validates release branch commits
Reviewed Changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| Justfile | Adds get-next-minor-version and get-next-patch-version commands for version calculation |
| .github/workflows/create-release-pr.yaml | Reusable workflow that creates release PRs with automatic version bumping |
| .github/workflows/minor-release.yaml | Scheduled (weekly) and manual trigger for minor releases |
| .github/workflows/patch-release.yaml | Manual workflow to create patch release PRs for hotfixes |
| .github/workflows/merge-release-pr-on-tag.yaml | Automated workflow to merge release PRs when version tags are pushed |
| .github/workflows/check-release-pr.yaml | Validates that release PRs only contain version bump commits |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 9 out of 9 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…est-and-fix * 'main' of github.com:block/goose: Document missing recipe param types (#5584) docs: description required for "Add Extension" in cli (#5573) fix: Add schema-aware numeric coercion for MCP tool arguments (#5478) Add uv for uvx in Justfile (#5581) Keep llm logs in place (#5577) bump to 1.12.0 (#5580) automate more of the release process (#5409) add clippy warning for string_slice (#5422)
* main: (41 commits) Add pending extension indicator to extension panel (#5493) Add environment subsition for auth blocks (#5439) acp: ToolCallLocations and working cancellation (#5588) feat(providers): add Mistral AI provider (#5009) Listen for ctrl-c during provider request (#5585) Also accept null as description, not just missing (#5589) Document missing recipe param types (#5584) docs: description required for "Add Extension" in cli (#5573) fix: Add schema-aware numeric coercion for MCP tool arguments (#5478) Add uv for uvx in Justfile (#5581) Keep llm logs in place (#5577) bump to 1.12.0 (#5580) automate more of the release process (#5409) add clippy warning for string_slice (#5422) improve linux tray icon support (#5425) feat: log rotation (#5561) use app.isPackaged instead of checking for node env development (#5465) disable RPM build-ID generation to prevent package conflicts (#5563) Add Diagnostics Info to Q&A and Bug Report Templates (#5565) fix: improve server error messages to include HTTP status code (#5532) ...
* main: (53 commits) acp: ToolCallLocations and working cancellation (#5588) feat(providers): add Mistral AI provider (#5009) Listen for ctrl-c during provider request (#5585) Also accept null as description, not just missing (#5589) Document missing recipe param types (#5584) docs: description required for "Add Extension" in cli (#5573) fix: Add schema-aware numeric coercion for MCP tool arguments (#5478) Add uv for uvx in Justfile (#5581) Keep llm logs in place (#5577) bump to 1.12.0 (#5580) automate more of the release process (#5409) add clippy warning for string_slice (#5422) improve linux tray icon support (#5425) feat: log rotation (#5561) use app.isPackaged instead of checking for node env development (#5465) disable RPM build-ID generation to prevent package conflicts (#5563) Add Diagnostics Info to Q&A and Bug Report Templates (#5565) fix: improve server error messages to include HTTP status code (#5532) improvement: add useful error message when attempting to use unauthenticated cursor-agent (#5300) fix: unblock acp via databricks (#5562) ...
* main: fix: customised recipe to yaml string to avoid minininjia parsing error (#5494) Add pending extension indicator to extension panel (#5493) Add environment subsition for auth blocks (#5439) acp: ToolCallLocations and working cancellation (#5588) feat(providers): add Mistral AI provider (#5009) Listen for ctrl-c during provider request (#5585) Also accept null as description, not just missing (#5589) Document missing recipe param types (#5584) docs: description required for "Add Extension" in cli (#5573) fix: Add schema-aware numeric coercion for MCP tool arguments (#5478) Add uv for uvx in Justfile (#5581) Keep llm logs in place (#5577) bump to 1.12.0 (#5580) automate more of the release process (#5409)
* origin/main: (75 commits) fix: customised recipe to yaml string to avoid minininjia parsing error (#5494) Add pending extension indicator to extension panel (#5493) Add environment subsition for auth blocks (#5439) acp: ToolCallLocations and working cancellation (#5588) feat(providers): add Mistral AI provider (#5009) Listen for ctrl-c during provider request (#5585) Also accept null as description, not just missing (#5589) Document missing recipe param types (#5584) docs: description required for "Add Extension" in cli (#5573) fix: Add schema-aware numeric coercion for MCP tool arguments (#5478) Add uv for uvx in Justfile (#5581) Keep llm logs in place (#5577) bump to 1.12.0 (#5580) automate more of the release process (#5409) add clippy warning for string_slice (#5422) improve linux tray icon support (#5425) feat: log rotation (#5561) use app.isPackaged instead of checking for node env development (#5465) disable RPM build-ID generation to prevent package conflicts (#5563) Add Diagnostics Info to Q&A and Bug Report Templates (#5565) ...
Signed-off-by: fbalicchia <[email protected]>
Signed-off-by: Blair Allan <[email protected]>
This automates release branching using PRs. It uses github actions to create PRs that generate a release log and diff for release branch management. It also includes a check on these PRs so that, when targeting main (for a minor release) we check that each change exists in main's history (has been cherry-picked). When a release tag is pushed, the PR is automatically merged to bump the version.
The process looks like this:
flowchart TD A[Weekly Schedule] --> B[Create Minor Release PR<br/>based on main] C[Manual Trigger] --> B D[Push Release Tag] --> E{PR Mergeable?<br/>Checks Passing?} E -->|Yes| F[Merge Release PR] E -->|No| G[No Action - PR Not Ready] F --> H[Create New Patch Release PR<br/>based on new release tag] B --> I{PR Status?} H --> J{PR Status?} I -->|Closed| K[No Action] I -->|Open & Ready| L[Awaiting Tag Push] J -->|Closed| M[No Action] J -->|Open & Ready| N[Awaiting Tag Push] L --> D N --> D style G fill:#ffcdd2 style K fill:#ffcdd2 style M fill:#ffcdd2 style A fill:#e1f5fe style C fill:#e1f5fe style F fill:#c8e6c9 style D fill:#fff3e0